<?php
/* vim: set expandtab sw=2 ts=2 sts=2 tw=80 nu: */
/**
 * Funcionalidade básica do MamutePHP
 *
 * Funções essenciais para inclusão em outros arquivos fonte.
 *
 * PHP versão 5
 *
 * MamutePHP(tm) : Framework PHP de desenvolvimento rápido (http://code.google.com/p/mamutephp/)
 * Copyright 2011-2012, Rodrigo Casara
 *
 * @copyright     Rodrigo Casara
 * @link          http://code.google.com/p/mamutephp/
 * @package       mamutephp
 * @subpackage    mamutephp.mamutephp
 * @since         MamutePHP v 1.0
 * @license       GNU GPL v3 (http://www.gnu.org/licenses/gpl-3.0.html)
 */

namespace MamutePHP {

  function carregarClasseAutomaticamente($classe) {
    $caminho = str_replace('\\', DS, $classe);
    $infoCaminho = pathinfo($caminho);
    if ($infoCaminho['dirname'] == 'MamutePHP') {
      $caminhoArquivoClasse = DIR_MAMUTEPHP . 'Classes' . DS . $infoCaminho['basename'] . '.classe.php';
    } else {
      $caminhoArquivoClasse = DIR_RAIZ . DS . $caminho . '.classe.php';
    }
    //
    if (is_readable($caminhoArquivoClasse)) {
      require_once($caminhoArquivoClasse);
    }
    return (class_exists($classe, false) or interface_exists($classe, false));
  }
  
  function obterVariavelDeAmbiente($chave) {
    if ($chave == 'HTTPS') {
      if (isset($_SERVER['HTTPS'])) {
        return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off');
      }
      return false;
    }
    //
    $valor = null;
    if (isset($_SERVER[$chave])) {
      $valor = $_SERVER[$chave];
    } elseif (isset($_ENV[$chave])) {
      $valor = $_ENV[$chave];
    } elseif (getenv($chave) !== false) {
      $valor = getenv($chave);
    }
    //
    if ($valor !== null) {
      return $valor;
    }
    //
    return null;
  }
  
}
?>
